You are given a string containing 0's, 1's and one or more '?', where ? is a wildcard that can >be 0 or 1.
Return an array containing all the possibilities you can reach substituing the ? for a value.
Examples
'101?' -> ['1010', '1011']'1?1?' -> ['1010', '1110', '1011', '1111']
Notes:Don't worry about sorting the output.
Your string will never be empty.
題目理解:給定一個字串param由"1","0","?"所組成,設計一函式將param中的每個"?"轉換成"1","0"的其中一種,返還一個列表來蒐集所有轉換後的可能性。
可以利用Python replace()來幫助解題如下:
def possibilities(param):
"""將param中?轉換成1or0後的所有可能性"""
def branch_of_reslut(para):
#每次執行branch_of_reslut檢驗para是否存在"?"
#若有?存在於para中,則重新執行branch_of_reslut並代入將para替換掉其中一個"?"的結果
if "?" in para:
branch_of_reslut(para.replace("?", "0", 1))
branch_of_reslut(para.replace("?", "1", 1))
else:
#若已經無問號存在則將此結果存入reslut
reslut.append(para)
reslut = []
branch_of_reslut(param)
return reslut
先偷懶一下明天結束前會補,耶!